package com.cx.zyx.modulebiz.user.controller.vo;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户登录请求参数封装对象
 */
@Data
public class LoginReqVO {

    @NotBlank(message = "账号不能为空")
    @Size(min = 3, max = 50, message = "用户名长度必须在3到20个字符之间")
    private String account;

    // 密码只在创建时强制验证
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 30, message = "密码长度必须在6到30个字符之间")
    private String password;

    @NotBlank(message = "验证码不能为空")
    private String captcha;


    /**
     * 客户端点击登录的时间，用于防止重放攻击或日志记录
     * 格式建议：ISO 8601，如 "2025-04-05T12:34:56"
     */
    private LocalDateTime loginTime;

    // 可选：是否记住
    private boolean rememberMe;
}
